package com.yhsimon.visitor;

/**
 * @author： YHSimon
 * @date： 2021-10-11 10:40
 * 1.此处使用了双分派，即首先在客户端程序中，将具体状态作为参数传递Woman中(第一次分派)
 * 2.然后Women类调用了作为参数的"具体方法"中方法getWomanResult,同时将自己（this）作为参数传入，完成第二次分派
 * 解耦？
 */
public class Woman extends Person {
    private String name;
    private int status=0;

    public Woman(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    @Override
    public void accept(Action action) {
        action.getWomanResult(this);
        this.status=1;
    }
}
